package com.taotao.cart.service;

import com.taotao.cart.domain.PmsCartItems;
import com.taotao.cart.domain.response.CartResponse;

import java.util.ArrayList;
import java.util.List;

public interface CartService {

    /**
     * 获取当前登录用户购物车列表
     * @return
     */
    List<CartResponse> cartList();

    /**
     * 加入购物车
     * @param skuId
     * @param quantity
     */
    void addToCart(Long skuId, Integer quantity);

    /**
     * 根据用户id查询购物车id
     * @param userId
     * @return
     */
    Long selectCartByUserId(Long userId);

    /**
     * 根据skuId cartId  查询购物车明细表
     * @param skuId
     * @param cartId
     * @return
     */
    PmsCartItems selectCartItemsBySkuIdCartIdAndQuantity(Long skuId, Long cartId);

    /**
     * 批量添加数据库
     * @param addCartItemsList
     */
    void addInBulkCartItems(ArrayList<PmsCartItems> addCartItemsList);

    /**
     * 批量修改购物车明细数量
     * @param updateCartItemsList
     */
    void updateInBulkCartItems(ArrayList<PmsCartItems> updateCartItemsList);

    void deleteCart(List<Long> skuIds);


    List<CartResponse> selectCartOrderInfoBySkuId(List<Long> skuId,Integer userId);
}
